Skip to content

Add terminal profile settings groundwork#1589

Draft
gmackie wants to merge 1 commit into
pingdotgg:mainfrom
gmackie:terminal-profile-config
Draft

Add terminal profile settings groundwork#1589
gmackie wants to merge 1 commit into
pingdotgg:mainfrom
gmackie:terminal-profile-config

Conversation

@gmackie
Copy link
Copy Markdown

@gmackie gmackie commented Mar 30, 2026

Summary

  • add persisted terminal profile settings and runtime shell/profile handling for integrated terminals
  • expose terminal capability data from the server, including current shell and discovered Windows shells, for future shell-selection UX
  • add a minimal terminal settings panel for shell override, shell args, and env overrides without taking on the full Support more integrated terminal shells #292 picker flow

Notes

Test Plan

  • bun --cwd apps/server test src/terminal/terminalProfile.test.ts src/wsServer.test.ts
  • bunx vitest run --config vitest.browser.config.ts src/components/settings/SettingsPanels.browser.tsx
  • bun fmt
  • bun lint
  • bun typecheck

Refs #292

Note

Add terminal profile settings for shell path, args, and environment variables

  • Adds TerminalProfileSettings schema to packages/contracts/src/settings.ts with shellPath, shellArgs, and env fields, extending ServerSettings and ServerSettingsPatch to support terminal profile configuration.
  • Adds a terminal settings section to GeneralSettingsPanel where users can configure shell path, arguments, and environment variables, persisted via updateSettings.
  • Introduces terminalProfile.ts with resolveTerminalShellSpawnConfig, discoverTerminalShells, and discoverWindowsTerminalShells to resolve which shell and args to use when spawning terminals.
  • Updates TerminalManagerRuntime in Manager.ts to source shell config from the terminal profile resolver at spawn time, merging profile env with runtime env.
  • Extends server.getConfig in wsServer.ts to include a terminal field with platform, currentShell, and discoveredShells.
📊 Macroscope summarized 7bdfbf6. 13 files reviewed, 3 issues evaluated, 0 issues filtered, 2 comments posted

🗂️ Filtered Issues

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Mar 30, 2026

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: b5fbfb49-fdcb-46c0-b448-cda7cda6383c

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions github-actions Bot added size:XL 500-999 changed lines (additions + deletions). vouch:unvouched PR author is not yet trusted in the VOUCHED list. labels Mar 30, 2026
Comment thread apps/server/src/wsServer.ts Outdated
Comment thread apps/web/src/components/settings/SettingsPanels.tsx
@gmackie gmackie force-pushed the terminal-profile-config branch from 7cb565b to 1195215 Compare April 2, 2026 20:41
@gmackie gmackie force-pushed the terminal-profile-config branch from 1195215 to 3ad69cb Compare April 15, 2026 07:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XL 500-999 changed lines (additions + deletions). vouch:unvouched PR author is not yet trusted in the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Support more integrated terminal shells

1 participant